package com.glsc.ngateway.platform.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import com.glsc.ngateway.platform.domain.costallocation.CostAllocationTask;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @author guoj
 * @description: 系统明细
 * @date 2024/10/29 15:17
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class SystemDetailStaticDto   {
    @ApiModelProperty(value = "随机编码 用于前端")
    private String uniqueKey;
    @ApiModelProperty(value = "ID")
    private Long id;

    @ApiModelProperty(value = "开始日期")
    protected String startDate;


    @ApiModelProperty(value = "终止日期")
    protected String endDate;

    @ApiModelProperty(value = "任务名称")
    protected String taskName;

    @ApiModelProperty(value = "资产唯一标识")
    private String itUniqueKey;
    @ApiModelProperty(value = "ip")
    private String vcIp;

    @ApiModelProperty(value = "分段起始日期")
    private String sectionStartDate;
    @ApiModelProperty(value = "分段结束日期")
    private String sectionEndDate;

    @ApiModelProperty(value = "服务器金额")
    private BigDecimal serverAmount;
    @ApiModelProperty(value = "数据来源")
    private String dataSource;

    @ApiModelProperty(value = "系统名称")
    private String systemName;

    @ApiModelProperty(value = "系统编号")
    private String systemClassNo;

    @ApiModelProperty(value = "业务对口部门一级名称")
    private String depGradeOneName;
    @ApiModelProperty(value = "业务对口部门一级id")
    private String depGradeOneId;

    @ApiModelProperty(value = "系统占用比例")
    private BigDecimal systemAllocation;
    @ApiModelProperty(value = "应用名称")
    private String vcComponentName;

    @ApiModelProperty(value = "部门分摊比例")
    private BigDecimal depAllocation;

    @ApiModelProperty(value = "部门分摊金额")
    private BigDecimal depAmount;

    @ApiModelProperty(value = "创建时间")
    protected LocalDateTime createTime;

    //只有回写云管数据是会更新数据
    @ApiModelProperty(value = "更新时间")
    protected LocalDateTime updateTime;

    @ApiModelProperty(value = "操作人")
    private String operator;

    @ApiModelProperty(value = "成本金额")
    private String systemAmount;

}
